.Dd Mar 27, 2023
.Dt RASM2 1
.Sh NAME
.Nm rasm2
.Nd radare2 assembler and disassembler tool
.Sh SYNOPSIS
.Nm rasm2
.Op Fl ABdDeEfCLvwrNqx
.Op Fl a Ar arch
.Op Fl b Ar bits
.Op Fl c Ar cpu
.Op Fl F Ar in:out
.Op Fl o Ar offset
.Op Fl @ Ar offset
.Op Fl O Ar ofile
.Op Fl s Ar syntax
.Op Fl i Ar int
.Op Fl l Ar int
.Op ARG
.Sh DESCRIPTION
This tool uses r_asm to assemble and disassemble files or hexpair strings. It supports a large list of architectures which can be listed using the \-L flag.
.Pp
.Bl -tag -width Fl
.It Fl a Ar arch
Set architecture plugin
.It Fl A
Show analysis information of given hexpair string
.It Fl b Ar bits
Set architecture bits
.It Fl B
Binary input/output (\-l is mandatory for binary input)
.It Fl c Ar cpu
Select specific CPU (depends on \-a arch)
.It Fl C
Output in C format
.It Fl d
Disassemble hexpair bytes. rasm2 \-d 9090
.It Fl D
Disassemble showing hexpair and opcode
.It Fl e
Use big endian (or swap endianness if used more than once)
.It Fl E
Output disassembled instructions in ESIL format.
.It Fl f
Read data from file instead of ARG.
.It Fl F Ar in:out
Specify input and/or output filters (att2intel, x86.pseudo, ...)
.It Fl h
Show usage help message.
.It Fl hh
Show long help message including supported assembler directives
.It Fl l Ar int
Input/Output length
.It Fl i Ar int
Ignore/skip N bytes from the beginning of the input buffer
.It Fl L
List loaded asm plugins
.It Fl LL
List loaded anal plugins
.It Fl LLL
List loaded arch plugins
.It Fl o Ar offset
Offset of the opcode to assemble (default is 0)
.It Fl @ Ar offset
Alias for -o
.It Fl N
Dont load any plugin, same as R2_NOPLUGINS=1 or r2 -NN
.It Fl O Ar ofile
output to file, for example 'rasm2 \-BF a a.asm'
.It Fl r
Show output in r2 script
.It Fl s Ar syntax
Select syntax output (intel, att)
.It Fl w
Describe opcode (whats op)
.It Fl x
Use hex dwords instead of hexpairs in the assembler output
.It Fl q
Quiet output (handy for -L, -v, ...)
.El
.Sh DIRECTIVES
.Pp
List the supported assembler and preprocessor directives with:
.Pp
 $rasm2 -hh
.Pp
.El
.Sh EXAMPLES
.Pp
Assemble opcode:
.Pp
  $ rasm2 \-a x86 \-b 32 'mov eax, 33'
.Pp
Disassemble opcode:
.Pp
  $ rasm2 \-d 90
.Sh SEE ALSO
.Pp
.Xr radare2(1)
.Sh AUTHORS
.Pp
pancake <pancake@nopcode.org>
